#ifndef MTIFSTATEMENT_H
#define MTIFSTATEMENT_H

#include "MTStatement.hpp"
#include "MTBlock.hpp"

namespace MathematicaTranslator
{

	/**
	  *  "If" statement representation
	  */
	class MTIfStatement : public MTStatement {

	public:
		/// Test conditions
		MTExpression &conditions;
		/// In case of evaluating test condition to true
		MTBlock &trueStatements;
		/// In case of evaluating test condition to false
		MTBlock &falseStatements;

		MTIfStatement(MTExpression &conditions, MTBlock &trueStatements, MTBlock &falseStatements) :
			conditions(conditions), trueStatements(trueStatements), falseStatements(falseStatements){}

		virtual std::string* generateCode(CodeGenContext& context);
	};

}
#endif
